![AWS入門ブログリレー2024〜Amazon GuardDuty編〜](https://devio2023-media.developers.io/wp-content/uploads/2023/08/amazon-guardduty.png)
AWS入門ブログリレー2024〜Amazon GuardDuty編〜
こんにちは、AWS事業本部@福岡オフィスのべこみん(@beco_minn)です。
当エントリは弊社AWS事業本部による『AWS 入門ブログリレー 2024』の55日目のエントリです。
このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。
AWS をこれから学ぼう!という方にとっては文字通りの入門記事として、またすでに AWS を活用されている方にとっても AWS サービスの再発見や 2024 年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。
では、さっそくいってみましょう。今回のテーマは『Amazon GuardDuty』です。
Amazon GuardDuty とは
AWSには様々なセキュリティサービスがありますが、Amazon GuardDuty(以下GuardDuty)は「脅威検知を行うマネージドサービス」です。
とは言っても、「脅威検知って何をしてくれるんだ?」って思う方もいらっしゃるのではないでしょうか。
例えば、GuardDutyが検知出来る脅威には以下のようなものがあります。
- AWSアカウントやIAMユーザーのID、パスワードが漏洩し、海外など自分が普段利用しないはずの場所から自分のAWS環境にアクセスされている
- EC2がマルウェアに感染し、不審なサーバーやIPアドレスと不正な通信を行っている
- 攻撃者にAWS CloudTrailのログ記録が無効化された
下図の通り、GuardDutyは様々なログデータからAWS環境で発生した上記のような脅威を検知してくれます。
さらに、ユーザーはそれらの検出結果をAWS Security Hubに集約したり、Amazon Detectiveで調査したり、Amazon EventBridgeで通知することが出来ます。
引用:Amazon GuardDuty Malware Protection - AWS Black Belt Online Seminar(PDFファイル)
GuardDutyのようなサービスを利用して脅威の検知を行うことは、サイバーセキュリティ対策において非常に重要です。
NIST(米国立標準技術研究所)が公開しているCSF(Cyber Security Framework)というサイバーセキュリティ対策フレームワークでも、脅威の検知は主要機能の1つとされています。
Govern:統治、Identity:特定、Protect:防御、Detect:検知、Respond:対応、Recover:復旧
引用:The NIST Cybersecurity Framework(CSF) 2.0
まだGuardDutyをお使いになっていない方は、このブログを機に是非導入を検討してみて下さい。
それでは、そんなGuardDutyの機能などについて見ていきましょう。
主な機能
GuardDutyの主な機能は以下の通りです。
- 基本的な脅威検出
- AWS CloudTrail(以下CloudTrail) 管理イベント分析
- Amazon VPC フローログおよびDNSクエリログの分析
- 保護プラン(追加オプション)
- S3 Protection
- EKS Protection
- ランタイムモニタリング
- Malware Protection
- RDS Protection
- Lambda 保護
基本的な脅威検出
GuardDutyを有効化すると、以下のイベントやログを分析することでIAMやAmazon EC2などに関する脅威を検出します。
- AWS CloudTrail 管理イベント
- AWSアカウント内のリソースに対して実行される、リソースそのものの作成や設定等のイベント
- Amazon VPC フローログ
- DNSクエリログ
この機能はGuardDutyを有効化している限り必ず有効化されます。
例えばCloudTrailの管理イベントからは異常なセキュリティ設定などが検知され、VPCフローログやDNSクエリログからはEC2が行っている異常な通信などを検知します。
これらのデータソースに関しては下記のユーザーガイドをご参照ください。
保護プラン(追加オプション)
GuardDutyは機能アップデートが多いサービスで、様々な検知方法が追加されています。
それらの追加機能が全て強制的に有効化されてしまうと料金面などで使い勝手が悪いですが、なんとGuardDutyでは以下から必要な追加機能を選んで有効化することが出来ます。
- S3 Protection
- EKS Protection
- ランタイムモニタリング
- EKS
- ECS on Fargate
- EC2
- Malware Protection
- RDS Protection
- Lambda 保護
S3 Protection
元々GuardDutyを有効化した時点でCloudTrail 管理イベントからS3リソースの作成や設定に関する脅威検出は行われますが、S3 Protection機能を有効化することで、オブジェクト操作などS3データイベントに対してGuardDutyが分析を行うようになります。
4年前のものですが、本機能が追加された時の弊社ブログはこちらです。
本機能の詳細は以下のユーザーガイドをご参照ください。
EKS Protection
EKSの監査ログをモニタリングすることで、Amazon EKSのEKSクラスターで疑わしいアクティビティを検出する機能です。
つい最近までこのEKS Protectionの中にEKSのランタイムモニタリング機能も含まれていたのですが、本記事執筆時点(2024年5月29日)では分離しています。
2年前のものですが、本機能が追加された時の弊社ブログはこちらです。
本機能の詳細は以下のユーザーガイドをご参照ください。
ランタイムモニタリング
最近で一番熱かった機能がこのランタイムモニタリングです。
ランタイムモニタリングは、EKSやECS、 EC2上のランタイムにおいて、OSレベル、ネットワーク、ファイルイベントなどを監視/分析し、それらの環境内で起こる脅威を検出します。
元々はEKSのみに対応したコンテナランタイム保護機能だったのですが、ECS on Fargateにも対応し、昨年4月には遂にEC2にも対応しました。
EKSのランタイムモニタリングが追加された時の弊社ブログはこちらです。
ECSのランタイムモニタリングが追加された時の弊社ブログはこちらです。
EC2のランタイムモニタリングが追加された時の弊社ブログはこちらです。
ランタイムモニタリング全体の詳細は以下のユーザーガイドをご参照ください。
Malware Protection
Malware Protectionは、EC2インスタンスおよびECSやEKSのコンテナワークロードにアタッチされたEBSボリュームをスキャンすることで、マルウェアの存在を検出する機能です。
機能の名称は"Protection"となっていますが、他の機能同様、あくまで本機能で行えるのは検知のみです。
また、本記事執筆時点では、ECSとEKSのどちらもFargateには対応していません。
2年前のものですが、本機能が追加された時の弊社ブログはこちらです。
本機能の詳細は以下のユーザーガイドをご参照ください。
RDS Protection
RDS Protectionは、Aurora MySQLとAurora PostgreSQLのみに対応した、データベースへの不正なログインアクティビティを検出する機能です。
本記事執筆時点ではサポートされているデータベースはAuroraのMySQLとPostgreSQLのみですが、ログインアクティビティを継続的に監視することで、疑わしいログイン試行を見つけてくれる便利な機能です。
本機能が追加された時の弊社ブログはこちらです。
本機能の詳細は以下のユーザーガイドをご参照ください。
Lambda 保護
※この機能だけ"Protection"ではなく"保護"表記になっていますが、これは本記事執筆時点のマネジメントコンソール上の表記に寄せているためです。
さて、最後のオプション機能はLambda 保護です。
この機能は、Lambda関数が呼び出される時に生成されるネットワークアクティビティログを監視することで、不正な通信が行われていないかを検知してくれます。
監視対象のリソースとしてはVPCフローログも含まれますが、本機能は VPC Lambda だけではなく、よく皆さんが使っている non-VPC Lambda にも対応しています。
本機能が追加された時の弊社ブログはこちらです。
本機能の詳細は以下のユーザーガイドをご参照ください。
料金
そんな便利な検知サービスであるGuardDutyですが、気になるのは利用料金です。
ここまでご紹介してきた通りGuardDutyは、ログやアクティビティなどユーザーが利用した記録や形跡を分析する機能です。そのため、GuardDutyの料金はAWSの利用度合いに応じて変化します。
まず、GuardDutyを有効化すると基本的な脅威検出の料金が必ず発生します。
以下は東京リージョンにおける料金です。
内容 | 数 | 料金 |
---|---|---|
CloudTrail 管理イベント分析 | 100万イベント/月 | 4.72 USD |
VPCフローログ、DNSクエリログの分析 | 最初の 500 GB/月 | 1.18 USD/GB |
- | 次の 2,000 GB/月 | 0.59 USD/GB |
- | 次の 7,500 GB/月 | 0.29 USD/GB |
- | 10,000 GB/月を超えた場合 | 0.17 USD/GB |
あまりピンと来ませんね。
基本的な脅威検出のみを利用した場合、GuardDutyの利用料はそのアカウントにおけるAWS利用費全体の 約1%〜2% に収まるようです。
例えば、1ヶ月あたり 100USD 利用している場合、GuardDutyの利用料は 1~2USD 程度に収まります。
また、上記記事にもあるように、他のセキュリティサービス同様、GuardDutyには30日間の無料期間が存在します。もしご自身の環境でのコストが気になる場合、まずは有効化して料金を確認してみてはいかがでしょうか。
上記で取り上げなかったその他オプション機能の料金詳細は、以下の公式ドキュメントをご参照ください。
使ってみましょう
GuardDutyの利用開始方法は有効化ボタンを押すだけです!
開始後に理解すべき検出結果の内容やカスタマイズ、サービス連携などについては、一昨年の弊社再入門ブログを是非ご参照ください。
終わりに
Amazon GuardDuty、使ってみたくなりましたよね?
Amazon GuardDutyはセキュリティ対策に必須なサービスなので、AWS環境上でサービス運用をされている方には是非有効化して頂きたいです。低コストなので導入もしやすいのではないでしょうか。
以上、『AWS 入門ブログリレー 2024』の55日目のエントリ『Amazon GuardDuty』編でした。 次回、5/30は弊社鈴木純 による「AWS Service Catalog編」の予定です!